<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <script type="text/javascript">
        //自定义对象的方式
        //第一种：字面量
        var obj1={name:"王依"};
        //第二种：通过Object创建对象
        //属性-----本身具有的特性
        //方法-----可以执行的行动
        var obj2=new Object();
         obj2.name="小雪";
         obj2.sayHello=function () {
              console.log("hello");
         };
   ///////////////////////////////////////////////////////////////////
        //面向对象：封装性
        /**
         *    面向对象            面向过程
         *                        第一个步骤：打开冰箱门
         *                        第二个步骤：把大象装进冰箱
         *     人{}               第三个步骤：关上冰箱门
         *
         *
         *
         *
         */

        //////////////////////////////////////////////////////
        /**
         *
         *   封装
         *
         *   共性  “类”  ------------  对象      个性车子
         *   车------------------------------  奥迪车-
         *  四个轮                              奥拓车
         *  发动机                              qq车
         *  跑
         *  车窗
         *
         *
         * Date             new Date
         *
         *
         */

       //创建一个共性的"类"
        //创建类的时候借助函数，这个函数叫做构造函数，首字母要大写
        //卡片管理器的特质（属性）-----生产厂商   生产时间
        //卡片管理器具有的方法-----添加卡片，删除卡片
        function CardManager(company,time) {
             //借助关键词this
            this.company=company;
            this.time=time;
            this.addCard=function () {
                console.log("卡片添加了");
            }
        }
       //一般情况下都是使用原型来给类添加方法
        //原型prototype是构造函数CardManager的父级
        CardManager.prototype.deleCard=function () {
            console.log("卡片被删除了");
        };
        console.log(CardManager.prototype);

        var c1=new CardManager("小米",2012);
        c1.addCard();
        c1.deleCard();
        console.log(c1);
        console.log(typeof c1);
        var c2=new CardManager("华为",2013);
        c2.addCard();
        console.log(c2);










    </script>
</body>
</html>